package colopllet.colopl.service;

import java.util.List;

import colopllet.colopl.pc.ColoplPCLoginException;
import colopllet.colopl.pc.ColoplPCOverAccessException;
import colopllet.colopl.pc.ColoplPCRequestException;
import colopllet.colopl.service.bean.ColonyLink;
import colopllet.colopl.service.bean.SouvenirCount;
import colopllet.colopl.service.bean.SouvenirForPresent;
import colopllet.colopl.service.bean.User;
import colopllet.colopl.service.bean.WarehouseItem;

public interface ColoplService {
    
    // コロプラPCサイトにログイン
    public User login(String username, String password) throws ColoplPCRequestException;
    
    // My倉庫からアイテムを検索
    public List<WarehouseItem> searchItemsFromMyWH(String uid, String key, boolean fullMatch, boolean update) throws ColoplPCRequestException, ColoplPCOverAccessException, ColoplPCLoginException;
    
    // 他コロニーの倉庫からアイテムを検索
    public List<WarehouseItem> searchItemsFromOtherWH(String uid, String colonieNumber, String key, boolean fullMatch, boolean update) throws ColoplPCRequestException, ColoplPCOverAccessException, ColoplPCLoginException;
    
    // My倉庫にあるアイテムの情報を更新
    public void updateWHItemsInfo(String uid, List<WarehouseItem> items) throws ColoplPCRequestException, ColoplPCOverAccessException, ColoplPCLoginException;
    
    // プレゼント用のお土産リストの取得
    public List<SouvenirCount> getPresentSouvenirs(String uid, int toID, int area) throws ColoplPCRequestException, ColoplPCOverAccessException, ColoplPCLoginException;
    
    // お土産をプレゼント
    public void presentSouvenirs(String uid, List<SouvenirForPresent> souvenirs) throws ColoplPCRequestException, ColoplPCOverAccessException, ColoplPCLoginException;
    
    // リンクコロニーの取得
    public List<ColonyLink> getLinkColonies(String uid) throws ColoplPCRequestException, ColoplPCOverAccessException, ColoplPCLoginException;
    
    // お友達コロニー（コロプラ＋）の取得
    public List<ColonyLink> getFriendColonies(String uid) throws ColoplPCRequestException, ColoplPCOverAccessException, ColoplPCLoginException;
    
    
    
}
